﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Modularity.DataModules.EODDataModule
{
    /// <summary>
    /// A query to represent all EOD possible queries
    /// </summary>
    public class EODQuery
    {
        private List<int> _OriginalQueryRowIndexes;
        public List<int> OriginalQueryRowIndexes
        {
            get
            {
                if (_OriginalQueryRowIndexes == null)
                {
                    _OriginalQueryRowIndexes = new List<int>();
                    
                }
                return _OriginalQueryRowIndexes;
            }
            set { _OriginalQueryRowIndexes = value; }
        }

        public struct TimeInterval
        {
            public DateTime? begin;
            public DateTime? end;
        }

        public bool FullMarketQuery
        {
            get; set;
        }
        
        public bool FullTimeLine
        {
            get;
            set;
        }

        public string Market
        {
            get; set;
        }

        private List<TimeInterval> _TimeIntervals;
        public List<TimeInterval> TimeIntervals
        {
            get
            {
                if (_TimeIntervals == null)
                {
                    _TimeIntervals = new List<TimeInterval>();
                }
                return _TimeIntervals;
            }
            set { _TimeIntervals = value; }
        }

        public List<string> Tickers
        {
            get;
            set;
        }
    }
}
